"""
抽象类解释：
    概述：
        有抽象方法的类就叫做抽象类，也叫：接口
        抽象方法：没有方法体的方法就叫做抽象方法

    格式：
        class 类名:
            def 方法名(self):
                pass

    作用（应用场景）：
        抽象类(接口) 一般用于充当父类使用，用于指定 行业 规则 规范
        具体的实现是 由 各个子类来完成的。

需求：
    假设国家规定 空调必须有 冷风， 热风，左右摇摆风的功能，
    现在有 格力 和 美的两个制造厂商生产空调，请用所有实现这个场景
"""
from typing import List


# 定义空调类 (国家标准)
class Ac:

    def hot_wind(self):
        pass

    def cool_wind(self):
        pass

    def lef_right_wind(self):
        pass


class Gree(Ac):
    def hot_wind(self):
        print('格力热风')

    def cool_wind(self):
        print('格力冷风')

    def lef_right_wind(self):
        print('格力左右摆风')

class Midea(Ac):
    def hot_wind(self):
        print('美的热风')

    def cool_wind(self):
        print('美的冷风')

    def lef_right_wind(self):
        print('美的左右摆风')

if __name__ == '__main__':
    # 测试格力空调
    # g = Gree()
    # g.hot_wind()
    # g.cool_wind()
    # g.lef_right_wind()

    air:List[Ac] = [Gree(), Midea(),Midea(),Midea(),Gree()]
    for a in air:
        a.hot_wind()